# 打开文件
# 以只读的方式打开目标文件，如果文件不存在会报错
# file1 = open('F:\\a.txt')  # FileNotFoundError
# 如果文件需要读写中文字符，需要指定字符集编码
# file1 = open('a.txt', encoding='utf-8')  # 相对路径：平级访问
# print(file1.read())  # read()不传参，表示读全部内容
# 读取模式中，会记录一个当前的位置
# print(file1.read(1))  # 读第一个字符,1
# print(file1.read(3))  # 读第三个字符,23换行(\n)
# print(file1.read(1))  # 读第一个字符,a
# file1.write('今天是个好日子')
# file1.close()

# print('========================')
# # 已只写的方式打开文件，并指定字符集编码为utf-8，可以使用write方法写内容
# file2 = open('b.txt', encoding='utf-8', mode='w')
# file2.write('今天是2025年5月12日')
# file2.read()  # io.UnsupportedOperation: not readable
# file2.close()

# w和其衍生出来的模式是覆盖写入方法：先删除原内容，再写新的内容
# with open('c.txt', encoding='utf-8', mode='w+') as file3:
#     file3.write('Hello Python')

# 追加模式
# with open('d.txt', encoding='utf-8', mode='a') as file4:
#     file4.write('Hello Python')

# 行操作
# 以列表的形式传递多行数据
# str_list = ['第一行内容\n', '第二行内容\n', '第三行内容']
# with open('e.txt', encoding='utf-8', mode='a') as file5:
#     # file5.write('Hello Python')
#     # file5.write('\n')  # 换行
#     file5.writelines(str_list)  # 还是得自己写换行符

with open('e.txt', encoding='utf-8', mode='r') as file6:
    # print(file6.readline())  # 读第一行   内容+\n
    # print(file6.readline())  # 读第二行   内容+\n
    str_list = file6.readlines()  # 读所有行，然后将内容封装到列表
    print(str_list)
